cloudflare pages 由于deployments过多,无法删除project

💡

官方教程

You may not be able to delete your Pages project if it has a high number (over 100) of deployments. The Cloudflare team is tracking this issue.

As a workaround, review the following steps to delete all deployments in your Pages project. After you delete your deployments, you will be able to delete your Pages project.

  1. Download the delete-all-deployments.zip file by going to the following link: https://pub-505c82ba1c844ba788b97b1ed9415e75.r2.dev/delete-all-deployments.zip.
  2. Extract the delete-all-deployments.zip file.
  3. Open your terminal and cd into the delete-all-deployments directory.
  4. In the delete-all-deployments directory, run npm install to install dependencies.
  5. Review the following commands to decide which deletion you would like to proceed with:
CF_API_TOKEN=<YOUR_CF_API_TOKEN> CF_ACCOUNT_ID=<ACCOUNT_ID> CF_PAGES_PROJECT_NAME=<PROJECT_NAME> npm start
CF_API_TOKEN=<YOUR_CF_API_TOKEN> CF_ACCOUNT_ID=<ACCOUNT_ID> CF_PAGES_PROJECT_NAME=<PROJECT_NAME> CF_DELETE_ALIASED_DEPLOYMENTS=true npm start

To find your Cloudflare API token, log in to the Cloudflare dashboard, select the user icon on the upper righthand side of your screen > go to My Profile > API Tokens.

Tips

安装Node.js

需要软件Node.js 可参考下面链接进行下载安装

Node.js安装教程

命令行所需信息

YOUR_CF_API_TOKEN

在My Profile 的API Tokens页面,创建Custom tokens

鉴于我不清楚是Account Pages还是Cloudflare Pages(虽然大概率是Cloudflare Pages),可能的我都赋予权限了,最后TTL可以自己设置tokens的有效期,然后获得tokens

image.png

image.png

image.png

Account ID & CF_PAGES_PROJECT_NAME

Account ID在Workers & Pages的Overview页面右侧。

CF_PAGES_PROJECT_NAME在中间。

image.png

执行命令

打开powershell,进入下载zip解压后的文件夹,安装依赖项npm install
image.png

执行删除deploy命令,有两种命令

  1. 删除所有部署,但保留现场生产部署(不包括别名部署)
    此命令用于删除项目中的所有部署,但会保留当前的生产部署(即当前活跃的,对外提供服务的部署),不包括任何已设置的别名部署(如子域名指向的特定部署)。
CF_API_TOKEN=<YOUR_CF_API_TOKEN> CF_ACCOUNT_ID=<ACCOUNT_ID> CF_PAGES_PROJECT_NAME=<PROJECT_NAME> npm start
  1. 删除所有部署,包括现场生产部署的别名部署
    此命令与上一个命令类似,用于删除项目中的所有部署,但它还包括了任何别名部署。这意味着,如果你有部署如 staging.example.pages.dev 这样通过别名访问的部署,它们也会被删除。
CF_API_TOKEN=<YOUR_CF_API_TOKEN> CF_ACCOUNT_ID=<ACCOUNT_ID> CF_PAGES_PROJECT_NAME=<PROJECT_NAME> CF_DELETE_ALIASED_DEPLOYMENTS=true npm start

To find your Account ID, refer to Find your zone and account ID.

我是希望全删,所以命令如下:

$env:CF_API_TOKEN="填入前面生成的YOUR_CF_API_TOKEN"
$env:CF_ACCOUNT_ID="填入你的Account ID"
$env:CF_PAGES_PROJECT_NAME="你要删除deployments的项目名称"
$env:CF_DELETE_ALIASED_DEPLOYMENTS=$true
npm start

检测一会之后就会开始跑,一直到结束
image.png

然后我八百多个deployments就被删光啦,可以正常删除项目了!开熏~【其他项目也可以日常做清理oh】

image.png

Secret Part